﻿/******************************************************************************
* File description: UpData.qml
* Function: 软件更新页面
* Current Version: 1.1
* Author: 陈乃瑞
* Date: 2025-07-01
*  -----
*  Copyright by 博坤生物 .
 *****************************************************************************/
import QtQuick 2.0
import "../components"
Rectangle {
    width: parent.width
    height: parent.height
    radius: 12

    property string updateString: ""

    onUpdateStringChanged: {
        edit_path.setText(updateString)
    }

    Item{
        y: 140*dp
        anchors.horizontalCenter: parent.horizontalCenter
        width: 440*dp; height: parent.height-140*dp
        Column{
            anchors.fill: parent
            spacing: 20*dp
            Row{
                anchors.horizontalCenter: parent.horizontalCenter
                y: 140*dp
                height: 40*dp
                spacing: 10*dp
                CustomInputText{
                    id: edit_path
                    title: "更新文件路径"
                    editable: false
                    titleWidth: 100*dp
                    editWidth: 210*dp
                }
                CustomButton{
                    id: button_select
                    title: "选择文件"
                    defaultMode2: true
                    width: 120*dp
                    onClicked: {
                        var res = CExeUpdater.selectFilePath()
                        if(res !== ""){
                            updateString = res
                        }
                    }
                }
            }
//            Rectangle{
//                height: 200*dp; width: parent.width
//                radius: 5*dp
//                border.color: "#DDD"
//                DropArea{
//                    anchors.fill: parent
//                    onEntered: {
//                        parent.border.color = "#1677FF";
//                        drag.accept (Qt.LinkAction);
//                    }
//                    onDropped: {
//                        console.log("文件进入", drop.urls)
//                    }
//                    onExited: {
//                        parent.border.color = "#DDD";
//                    }
//                }
//            }
            Rectangle { height: 210*dp; width: 20*dp }

            CustomButton{
                id: button_se
                width: 120*dp
                height: 40*dp
                anchors.right: parent.right
                title: "确认"
                defaultMode1: true
                onClicked: {
                    if(updateString === ""){
                        toast_settings.show("请选择正确的路径", 1)
                    }else{
                        box_update.show()
                    }
                }
//                CustomButton{               // 为了排版先把这个按钮塞到这儿了
//                    x: - width - 10*dp
//                    defaultMode2: true
//                    title: "从服务器更新"
//                    onClicked: {
//                        box_updateFromServer.show()
//                    }
//                }
            }
        }
    }


//    Rectangle{
//        x:parent.width/2-410*dp
//        y: 100*dp
//        width: 400*dp
//        height: 150*dp
//        border.color: "#DEDCD9"
//        // 初始背景色，可根据实际需求调整
//        color: "white"
//        MouseArea{
//            anchors.fill: parent
//            hoverEnabled: true
//            onEntered: {
//                // 鼠标进入时将背景色改为蓝色
//                parent.color = "#F5F8FF"
//            }
//            onExited: {
//                // 鼠标离开时恢复原来的背景色，这里恢复为白色，可按需修改
//                parent.color = "white"
//            }
//        }
//        Image {
//            width: 40*dp
//            height: 45*dp
//            x:180*dp
//            y:30*dp
//            source: "qrc:/picture/gx_pic.jpg"
//        }
//        PushButton{
//            x:140*dp
//            y:90*dp
//            width: 120*dp
//            height: 40*dp
//            defaultMode2: true
//            title: "选择文件"
//            onReleased: {
//                var res = CExeUpdater.selectFilePath()
//                if(res !== ""){
//                    updateString = res
//                }
//            }
//        }

//    }
//    Rectangle{
//        x:parent.width/2+10*dp
//        y: 100*dp
//        width: 400*dp
//        height: 150*dp
//        border.color: "#DEDCD9"
//        MouseArea{
//            anchors.fill: parent
//            hoverEnabled: true
//            onEntered: {
//                // 鼠标进入时将背景色改为蓝色
//                parent.color = "#F5F8FF"
//            }
//            onExited: {
//                // 鼠标离开时恢复原来的背景色，这里恢复为白色，可按需修改
//                parent.color = "white"
//            }
//        }
//        Text {
//            x:10*dp
//            y:10*dp
//            text: qsTr("文件路径：")
//            font.pixelSize: config.fontsize
//        }
//        Text {
//            x:10*dp
//            y:40*dp
//            width: parent.width - 2*x
//            height: 50*dp
//            wrapMode: Text.WrapAnywhere
//            text: updateString==="" ? "当前未选择路径" : updateString
//            font.pixelSize: config.fontsize
//        }
//    }
//    PushButton{
//        width: 120*dp
//        height: 40*dp
//        x:parent.width/2-130*dp
//        y:parent.height*0.6
//        title: "取消"
//        defaultMode2: true
//    }
//    CustomButton{
//        width: 120*dp
//        height: 40*dp
//        x:parent.width/2+10*dp
//        y:parent.height*0.6
//        title: "更新"
//        defaultMode1: true
//        onClicked: {
//            if(updateString === ""){
//                toast_settings.show("请选择正确的路径", 1)
//            }else{
//                box_update.show()
//            }
//        }
//    }

    CustomPopupBoxWarning{
        id: box_update
        box_text: "更新将关闭当前软件，确定更新吗?"
        onAccepted: {
            toast_settings.show(CExeUpdater.execUpdate(), 1)
        }
    }
    CustomPopupBoxWarning{
        id: box_updateFromServer
        box_text: "更新将关闭当前软件，确定更新吗?"
        onAccepted: {
            toast_settings.show(CExeUpdater.updateFromServer(), 1)
        }
    }
}
